home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QD3DTransform.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  9.6 KB  |  203 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DTransform.p
  3.  
  4.      Contains:    Q3Transform routines                                                 
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT QD3DTransform;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __QD3DTRANSFORM__}
  27. {$SETC __QD3DTRANSFORM__ := 1}
  28.  
  29. {$I+}
  30. {$SETC QD3DTransformIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __QD3D__}
  34. {$I QD3D.p}
  35. {$ENDC}
  36.  
  37.  
  38. {$PUSH}
  39. {$ALIGN POWER}
  40. {$LibExport+}
  41.  
  42. {*****************************************************************************
  43.  **                                                                             **
  44.  **                            Transform Routines                                 **
  45.  **                                                                             **
  46.  ****************************************************************************}
  47. FUNCTION Q3Transform_GetType(transform: TQ3TransformObject): TQ3ObjectType; C;
  48. FUNCTION Q3Transform_GetMatrix(transform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Matrix4x4Ptr; C;
  49. FUNCTION Q3Transform_Submit(transform: TQ3TransformObject; view: TQ3ViewObject): TQ3Status; C;
  50.  
  51. {*****************************************************************************
  52.  **                                                                             **
  53.  **                            MatrixTransform Routines                         **
  54.  **                                                                             **
  55.  ****************************************************************************}
  56. FUNCTION Q3MatrixTransform_New({CONST}VAR matrix: TQ3Matrix4x4): TQ3TransformObject; C;
  57. FUNCTION Q3MatrixTransform_Submit({CONST}VAR matrix: TQ3Matrix4x4; view: TQ3ViewObject): TQ3Status; C;
  58. FUNCTION Q3MatrixTransform_Set(transform: TQ3TransformObject; {CONST}VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  59. FUNCTION Q3MatrixTransform_Get(transform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  60.  
  61. {*****************************************************************************
  62.  **                                                                             **
  63.  **                            RotateTransform Data                             **
  64.  **                                                                             **
  65.  ****************************************************************************}
  66.  
  67. TYPE
  68.     TQ3RotateTransformDataPtr = ^TQ3RotateTransformData;
  69.     TQ3RotateTransformData = RECORD
  70.         axis:                    TQ3Axis;
  71.         radians:                Single;
  72.     END;
  73.  
  74. {*****************************************************************************
  75.  **                                                                             **
  76.  **                            RotateTransform Routines                         **
  77.  **                                                                             **
  78.  ****************************************************************************}
  79. FUNCTION Q3RotateTransform_New({CONST}VAR data: TQ3RotateTransformData): TQ3TransformObject; C;
  80.  
  81. FUNCTION Q3RotateTransform_Submit({CONST}VAR data: TQ3RotateTransformData; view: TQ3ViewObject): TQ3Status; C;
  82. FUNCTION Q3RotateTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateTransformData): TQ3Status; C;
  83. FUNCTION Q3RotateTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateTransformData): TQ3Status; C;
  84. FUNCTION Q3RotateTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  85. FUNCTION Q3RotateTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  86. FUNCTION Q3RotateTransform_GetAxis(renderable: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  87. FUNCTION Q3RotateTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  88.  
  89. {*****************************************************************************
  90.  **                                                                             **
  91.  **                    RotateAboutPointTransform Data                             **
  92.  **                                                                             **
  93.  ****************************************************************************}
  94.  
  95. TYPE
  96.     TQ3RotateAboutPointTransformDataPtr = ^TQ3RotateAboutPointTransformData;
  97.     TQ3RotateAboutPointTransformData = RECORD
  98.         axis:                    TQ3Axis;
  99.         radians:                Single;
  100.         about:                    TQ3Point3D;
  101.     END;
  102.  
  103. {*****************************************************************************
  104.  **                                                                             **
  105.  **                    RotateAboutPointTransform Routines                         **
  106.  **                                                                             **
  107.  ****************************************************************************}
  108. FUNCTION Q3RotateAboutPointTransform_New({CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3TransformObject; C;
  109. FUNCTION Q3RotateAboutPointTransform_Submit({CONST}VAR data: TQ3RotateAboutPointTransformData; view: TQ3ViewObject): TQ3Status; C;
  110. FUNCTION Q3RotateAboutPointTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  111. FUNCTION Q3RotateAboutPointTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  112. FUNCTION Q3RotateAboutPointTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  113. FUNCTION Q3RotateAboutPointTransform_GetAxis(transform: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  114.  
  115. FUNCTION Q3RotateAboutPointTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  116. FUNCTION Q3RotateAboutPointTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  117.  
  118. FUNCTION Q3RotateAboutPointTransform_SetAboutPoint(transform: TQ3TransformObject; {CONST}VAR about: TQ3Point3D): TQ3Status; C;
  119. FUNCTION Q3RotateAboutPointTransform_GetAboutPoint(transform: TQ3TransformObject; VAR about: TQ3Point3D): TQ3Status; C;
  120.  
  121. {*****************************************************************************
  122.  **                                                                             **
  123.  **                    RotateAboutAxisTransform Data                             **
  124.  **                                                                             **
  125.  ****************************************************************************}
  126.  
  127. TYPE
  128.     TQ3RotateAboutAxisTransformDataPtr = ^TQ3RotateAboutAxisTransformData;
  129.     TQ3RotateAboutAxisTransformData = RECORD
  130.         origin:                    TQ3Point3D;
  131.         orientation:            TQ3Vector3D;
  132.         radians:                Single;
  133.     END;
  134.  
  135. {*****************************************************************************
  136.  **                                                                             **
  137.  **                    RotateAboutAxisTransform Routines                         **
  138.  **                                                                             **
  139.  ****************************************************************************}
  140. FUNCTION Q3RotateAboutAxisTransform_New({CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3TransformObject; C;
  141. FUNCTION Q3RotateAboutAxisTransform_Submit({CONST}VAR data: TQ3RotateAboutAxisTransformData; view: TQ3ViewObject): TQ3Status; C;
  142. FUNCTION Q3RotateAboutAxisTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  143. FUNCTION Q3RotateAboutAxisTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  144.  
  145. FUNCTION Q3RotateAboutAxisTransform_SetOrientation(transform: TQ3TransformObject; {CONST}VAR axis: TQ3Vector3D): TQ3Status; C;
  146. FUNCTION Q3RotateAboutAxisTransform_GetOrientation(transform: TQ3TransformObject; VAR axis: TQ3Vector3D): TQ3Status; C;
  147.  
  148. FUNCTION Q3RotateAboutAxisTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  149. FUNCTION Q3RotateAboutAxisTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  150.  
  151. FUNCTION Q3RotateAboutAxisTransform_SetOrigin(transform: TQ3TransformObject; {CONST}VAR origin: TQ3Point3D): TQ3Status; C;
  152. FUNCTION Q3RotateAboutAxisTransform_GetOrigin(transform: TQ3TransformObject; VAR origin: TQ3Point3D): TQ3Status; C;
  153.  
  154. {*****************************************************************************
  155.  **                                                                             **
  156.  **                            ScaleTransform Routines                             **
  157.  **                                                                             **
  158.  ****************************************************************************}
  159. FUNCTION Q3ScaleTransform_New({CONST}VAR scale: TQ3Vector3D): TQ3TransformObject; C;
  160. FUNCTION Q3ScaleTransform_Submit({CONST}VAR scale: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  161. FUNCTION Q3ScaleTransform_Set(transform: TQ3TransformObject; {CONST}VAR scale: TQ3Vector3D): TQ3Status; C;
  162. FUNCTION Q3ScaleTransform_Get(transform: TQ3TransformObject; VAR scale: TQ3Vector3D): TQ3Status; C;
  163.  
  164. {*****************************************************************************
  165.  **                                                                             **
  166.  **                            TranslateTransform Routines                         **
  167.  **                                                                             **
  168.  ****************************************************************************}
  169. FUNCTION Q3TranslateTransform_New({CONST}VAR translate: TQ3Vector3D): TQ3TransformObject; C;
  170. FUNCTION Q3TranslateTransform_Submit({CONST}VAR translate: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  171. FUNCTION Q3TranslateTransform_Set(transform: TQ3TransformObject; {CONST}VAR translate: TQ3Vector3D): TQ3Status; C;
  172. FUNCTION Q3TranslateTransform_Get(transform: TQ3TransformObject; VAR translate: TQ3Vector3D): TQ3Status; C;
  173. {*****************************************************************************
  174.  **                                                                             **
  175.  **                            QuaternionTransform Routines                     **
  176.  **                                                                             **
  177.  ****************************************************************************}
  178. FUNCTION Q3QuaternionTransform_New({CONST}VAR quaternion: TQ3Quaternion): TQ3TransformObject; C;
  179. FUNCTION Q3QuaternionTransform_Submit({CONST}VAR quaternion: TQ3Quaternion; view: TQ3ViewObject): TQ3Status; C;
  180. FUNCTION Q3QuaternionTransform_Set(transform: TQ3TransformObject; {CONST}VAR quaternion: TQ3Quaternion): TQ3Status; C;
  181. FUNCTION Q3QuaternionTransform_Get(transform: TQ3TransformObject; VAR quaternion: TQ3Quaternion): TQ3Status; C;
  182.  
  183. {*****************************************************************************
  184.  **                                                                             **
  185.  **                            ResetTransform Routines                             **
  186.  **                                                                             **
  187.  ****************************************************************************}
  188. FUNCTION Q3ResetTransform_New: TQ3TransformObject; C;
  189. FUNCTION Q3ResetTransform_Submit(view: TQ3ViewObject): TQ3Status; C;
  190.  
  191.  
  192.  
  193. {$ALIGN RESET}
  194. {$POP}
  195.  
  196. {$SETC UsingIncludes := QD3DTransformIncludes}
  197.  
  198. {$ENDC} {__QD3DTRANSFORM__}
  199.  
  200. {$IFC NOT UsingIncludes}
  201.  END.
  202. {$ENDC}
  203.